package com.ruoyi.system.recovery.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.enums.SysYesNo;
import com.ruoyi.common.enums.zyl.*;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 回收账号对象 zyl_recovery_info
 *
 * @author ruoyi
 * @date 2025-06-04
 */
@Data
@TableName("zyl_recovery_info")
public class RecoveryInfo extends BaseEntity<RecoveryInfo> {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    /**
     * 逻辑删除
     */
    private String delFlag;

    /**
     * 自编码
     */
    @Excel(name = "自编码")
    private String account;

    /**
     * 游戏类型
     */
    @Excel(name = "游戏类型")
    private Long gameId;

    /**
     * 系统
     */
    @Excel(name = "系统")
    private Long systemId;

    /**
     * 运营商
     */
    @Excel(name = "运营商")
    private Long carrierId;

    /**
     * 大区
     */
    @Excel(name = "大区")
    private Long areaId;

    /**
     * 服务器
     */
    @Excel(name = "服务器")
    private Long serverId;

    /**
     * 交易方式
     */
    @Excel(name = "交易方式")
    private String trading;

    /**
     * 回收渠道
     */
    @Excel(name = "回收渠道")
    private String recoveryChannel;

    /**
     * 游戏账号
     */
    @Excel(name = "游戏账号")
    private String accountNumber;

    /**
     * 账号密码
     */
    @Excel(name = "账号密码")
    private String accountPassword;

    /**
     * 回收价格
     */
    @Excel(name = "回收价格")
    private BigDecimal recoveryPrice;

    /**
     * 厂商类型
     */
    @Excel(name = "厂商类型")
    private String clientType;

    /**
     * 支付方式
     */
    @Excel(name = "支付方式")
    private String payType;

    /**
     * 挂售价
     */
    @Excel(name = "挂售价")
    private BigDecimal saleMoney;

    /**
     * 绑定号码
     */
    @Excel(name = "绑定号码")
    private String phone;

    /**
     * 换绑人
     */
    @Excel(name = "换绑人")
    private Long changeUserId;

    /**
     * 号主姓名
     */
    @Excel(name = "号主姓名")
    private String name;

    /**
     * 号主电话
     */
    @Excel(name = "号主电话")
    private String numbers;

    /**
     * 回收单号
     */
    @Excel(name = "回收单号")
    private String cipher;

    /**
     * 平台昵称
     */
    @Excel(name = "平台昵称")
    private String nickName;

    /**
     * 是否埋Q
     */
    @Excel(name = "是否埋Q")
    private SysYesNo isFriend;

    /**
     * 回收人
     */
    @Excel(name = "回收人")
    private Long userId;

    /**
     * 签署合同
     */
    @Excel(name = "签署合同")
    private SysContractStatusEnum contract;

    /**
     * 登录设备
     */
    @Excel(name = "登录设备")
    private String recoveryDevice;

    /**
     * 付款截图
     */
    @Excel(name = "付款截图")
    private String payImg;

    /**
     * 防沉迷截图
     */
    @Excel(name = "防沉迷截图")
    private String antiAddictionImg;

    /**
     * QQ钱包截图
     */
    @Excel(name = "QQ钱包截图")
    private String qqWalletImg;

    /**
     * 图片信息（神话英雄截图，其他图片）
     */
    @Excel(name = "图片信息", readConverterExp = "神=话英雄截图，其他图片")
    private String accountImg;

    /**
     * 商品描述
     */
    @Excel(name = "商品描述")
    private String descs;

    /**
     * 标签id
     */
    @Excel(name = "标签id")
    private String labelsId;

    /**
     * 换绑时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "换绑时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rebindingTime;

    /**
     * 换绑状态
     */
    @Excel(name = "换绑状态")
    private SysRebindingTypeEnum rebindingType;

    /**
     * 账号状态
     */
    @Excel(name = "账号状态")
    private InventoryStatusEnum inventoryStatus;

    /**
     * 自营/非自营
     */
    @Excel(name = "自营/非自营")
    private String accountSource;

    /**
     * 自动截图状态
     */
    @Excel(name = "自动截图状态")
    private IsAutomaticEnum isAutomatic;

    /**
     * 审核状态
     */
    @Excel(name = "审核状态")
    private String reviewStatus;

    /**
     * 账号标签
     */
    @Excel(name = "账号标签")
    private String accountLabel;

    /**
     * 暂卖人员
     */
    @Excel(name = "暂卖人员")
    private Long saleUserId;

    /**
     * 查找回
     */
    @Excel(name = "查找回")
    private SysRecoveryFindsEnum finds;

    /**
     * 查冻结
     */
    @Excel(name = "查冻结")
    private SysRecoveryFreezeEnum freeze;

    /**
     * 查冻结时间
     */
    @Excel(name = "查冻结时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String freezeTime;

    /**
     * 销售
     */
    @Excel(name = "销售")
    private String sale;

    /**
     * 销售状态
     */
    @Excel(name = "销售状态")
    private SysYesNo saleStatus;

    /**
     * 售后
     */
    @Excel(name = "售后")
    private SysYesNo aftermarket;

    /**
     * 订单状态
     */
    @Excel(name = "订单状态")
    private InventoryOrderStatusEnum recoveryStatus;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String orderNo;

}
